// pages/reserve/reserve.js
//引入day.js
import dayjs from "dayjs";
//初始化
const db = wx.cloud.database()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //取票人
    userName: '',
    //手机号
    phoneNumer: '',
    //身份证
    idNumer: '',
    //购买数量
    buyNum: 1,
    //星期
    week: '',
    day: dayjs().format('MM' + '月' + 'DD' + '日'),
    tomorrow: dayjs().add(1, 'day').format('MM-DD'),
    date: dayjs().format('YYYY-MM-DD')
  },

  /**
   * 获取日期
   */
  // formatDateTime: date => {
  //   return dayjs(date).format('YYYY-MM-DD')
  // },

  /***
   * 转换日期样式
   */
  dayCycle: function () {
    let that = this
    //使用数组更改日期样式;
    let weekArray = ["日", "一", "二", "三", "四", "五", "六"];
    let week = dayjs().day()
    for (var i = 0; i < 7; i++) {
      if (week == i) {
        //将dayCycleArray的数赋值到系统星期几里面中去;
        week = weekArray[i];
      }
    }
    that.setData({
      week: week
    })
  },

  /**
   * 购买数量 
   */
  onChange: function (event) {
    this.setData({
      buyNum: event.detail
    })
  },

  /**
   * 用户名
   */
  userNameInput: function (e) {
    this.setData({
      userName: e.detail.value
    })
  },

  /**
   * 手机号
   */
  phoneNumerInput: function (e) {
    this.setData({
      phoneNumer: e.detail.value
    })
  },

  /**
   * 身份证号码
   */
  idNumerInput: function (e) {
    this.setData({
      idNumer: e.detail.value
    })
  },

  /**
   * 得到用户信息
   */
  getUserInfo: function (e) {
    // console.log('用户名', this.data.userName + '手机号', this.data.phoneNumer + '身份证', this.data.idNumer)
    //判断 如果用户没有输入正确的信息，就不将信息传入数据库  符合就将数据添加到数据库
    if (this.data.userName == '') {
      wx.showToast({
        title: '请输入姓名',
        icon: 'none',
        duration: 2000
      })
    } else if (this.data.phoneNumer.length != 11) {
      wx.showToast({
        title: '请输入正确手机号',
        icon: 'none',
        duration: 2000
      })
    } else if (this.data.idNumer.length != 18) {
      wx.showToast({
        title: '请输入正确身份证号码',
        icon: 'none',
        duration: 2000
      })
    } else {
      // 用户信息传入table数据库
      db.collection('table').add({
        data: {
          //取票人
          userName: this.data.userName,
          //手机号
          phoneNumer: this.data.phoneNumer,
          //身份证号码
          idNumer: this.data.idNumer,
          //日期
          date: this.data.date,
          //月 日
          day: this.data.day,
          //星期
          week: '星期' + this.data.week,
          //提示
          text: '免费',
          //状态
          state: '已支付',
          //购买数量
          buyNum: this.data.buyNum
        },
        success: res => {
          console.log(res)
        }
      })
      //跳转订单详情
      wx.reLaunch({
        url: '/pages/details/details',
      })
      //订单编号
      this.orderCode()
    }
  },

  /**
   * 票号 
   */
  orderCode: function () {
    // 存放订单号
    let orderCode = '';
    // 6位随机数(加在时间戳后面)
    for (var i = 0; i < 6; i++) {
      orderCode += Math.floor(Math.random() * 10);
    }
    // 时间戳(用来生成订单号)
    orderCode = dayjs().valueOf() + orderCode;
    // 将要传的哪个值利用setStorageSync存储到本地
    wx.setStorageSync('orderCodeName', orderCode)
    // 跳转到订单详情页面
    console.log('生成的订单号', orderCode)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // this.formatDateTime()
    // console.log(this.formatDateTime())
    this.dayCycle()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})